What is available today?

Current reporting toolbox

Reporting Engine: Streamlined report generation using predefined workflows.

{ospsuite} can generate some standardized and reusable outputs.

{ospsuite} lacks ways to easily generate other outputs than plots.

PK-Sim Snapshots

JSON representation of PK-Sim projects

PK-Sim Snapshots are comprehensive.

{
  "Version": 80,
  "ExpressionProfiles": [...],
  "Individuals": [],
  "Populations": [...],
  "Compounds": [...],
  "Formulations": [...],
  "Protocols": [...],
  "ObserverSets": [...],
  "Events": [...],
  "Simulations": [...],
  "ParameterIdentifications": [...],
  "ObservedData": [...]
} 

PK-Sim Snapshots are deeply nested data structure.

"Individuals": [
{
"Name": "European (P-gp modified, CYP3A4 36 h)",
"Seed": 17189110,
"OriginData": {
"CalculationMethods": [
"SurfaceAreaPlsInt_VAR1",
"Body surface area - Mosteller"
],
"Species": "Human",
"Population": "European_ICRP_2002",
"Gender": "MALE",
"Age": {
"Value": 30,
"Unit": "year(s)"
}
},
"Parameters": [
{
"Path": "Organism|Liver|EHC continuous fraction",
"Value": 1,
"ValueOrigin": {
"Source": "Unknown"
}
}
],
"ExpressionProfiles": [
"CYP3A4|Human|European (P-gp modified, CYP3A4 36 h)",
"AADAC|Human|European (P-gp modified, CYP3A4 36 h)",
"P-gp|Human|European (P-gp modified, CYP3A4 36 h)",
"OATP1B1|Human|European (P-gp modified, CYP3A4 36 h)",
"ATP1A2|Human|European (P-gp modified, CYP3A4 36 h)",
"UGT1A4|Human|European (P-gp modified, CYP3A4 36 h)",
"GABRG2|Human|European (P-gp modified, CYP3A4 36 h)"
]
},
{
"Name": "European (P-gp modified, CYP3A4 36 h, EHC off)",
"Seed": 17189110,
"OriginData": {
"CalculationMethods": [
"SurfaceAreaPlsInt_VAR1",
"Body surface area - Mosteller"
],
"Species": "Human",
"Population": "European_ICRP_2002",
"Gender": "MALE",
"Age": {
"Value": 30,
"Unit": "year(s)"
}
},
"ExpressionProfiles": [
"CYP3A4|Human|European (P-gp modified, CYP3A4 36 h)",
"AADAC|Human|European (P-gp modified, CYP3A4 36 h)",
"P-gp|Human|European (P-gp modified, CYP3A4 36 h)",
"OATP1B1|Human|European (P-gp modified, CYP3A4 36 h)",
"ATP1A2|Human|European (P-gp modified, CYP3A4 36 h)",
"UGT1A4|Human|European (P-gp modified, CYP3A4 36 h)",
"GABRG2|Human|European (P-gp modified, CYP3A4 36 h)"
]
}
]

PK-Sim Snapshots are difficult to navigate.

snapshot$Compounds
[[1]]
[[1]]$Name
[1] "Rifampicin"

[[1]]$IsSmallMolecule
[1] TRUE

[[1]]$PlasmaProteinBindingPartner
[1] "Albumin"

[[1]]$Lipophilicity
[[1]]$Lipophilicity[[1]]
[[1]]$Lipophilicity[[1]]$Name
[1] "Optimized"

[[1]]$Lipophilicity[[1]]$Parameters
[[1]]$Lipophilicity[[1]]$Parameters[[1]]
[[1]]$Lipophilicity[[1]]$Parameters[[1]]$Name
[1] "Lipophilicity"

[[1]]$Lipophilicity[[1]]$Parameters[[1]]$Value
[1] 2.5

[[1]]$Lipophilicity[[1]]$Parameters[[1]]$Unit
[1] "Log Units"

[[1]]$Lipophilicity[[1]]$Parameters[[1]]$ValueOrigin
[[1]]$Lipophilicity[[1]]$Parameters[[1]]$ValueOrigin$Source
[1] "Publication"

[[1]]$Lipophilicity[[1]]$Parameters[[1]]$ValueOrigin$Method
[1] "ParameterIdentification"

[[1]]$Lipophilicity[[1]]$Parameters[[1]]$ValueOrigin$Description
[1] "Hanke et al. 2018"






[[1]]$FractionUnbound
[[1]]$FractionUnbound[[1]]
[[1]]$FractionUnbound[[1]]$Name
[1] "Templeton 2011"

[[1]]$FractionUnbound[[1]]$Species
[1] "Human"

[[1]]$FractionUnbound[[1]]$Parameters
[[1]]$FractionUnbound[[1]]$Parameters[[1]]
[[1]]$FractionUnbound[[1]]$Parameters[[1]]$Name
[1] "Fraction unbound (plasma, reference value)"

[[1]]$FractionUnbound[[1]]$Parameters[[1]]$Value
[1] 17

[[1]]$FractionUnbound[[1]]$Parameters[[1]]$Unit
[1] "%"

[[1]]$FractionUnbound[[1]]$Parameters[[1]]$ValueOrigin
[[1]]$FractionUnbound[[1]]$Parameters[[1]]$ValueOrigin$Source
[1] "Publication"

[[1]]$FractionUnbound[[1]]$Parameters[[1]]$ValueOrigin$Method
[1] "InVitro"

[[1]]$FractionUnbound[[1]]$Parameters[[1]]$ValueOrigin$Description
[1] "Templeton 2011 (equilibrium dialysis)"






[[1]]$Solubility
[[1]]$Solubility[[1]]
[[1]]$Solubility[[1]]$Name
[1] "Aqueous solubility"

[[1]]$Solubility[[1]]$Parameters
[[1]]$Solubility[[1]]$Parameters[[1]]
[[1]]$Solubility[[1]]$Parameters[[1]]$Name
[1] "Solubility at reference pH"

[[1]]$Solubility[[1]]$Parameters[[1]]$Value
[1] 2800

[[1]]$Solubility[[1]]$Parameters[[1]]$Unit
[1] "mg/l"

[[1]]$Solubility[[1]]$Parameters[[1]]$ValueOrigin
[[1]]$Solubility[[1]]$Parameters[[1]]$ValueOrigin$Source
[1] "Publication"

[[1]]$Solubility[[1]]$Parameters[[1]]$ValueOrigin$Description
[1] "Boman 1974"



[[1]]$Solubility[[1]]$Parameters[[2]]
[[1]]$Solubility[[1]]$Parameters[[2]]$Name
[1] "Reference pH"

[[1]]$Solubility[[1]]$Parameters[[2]]$Value
[1] 7.5

[[1]]$Solubility[[1]]$Parameters[[2]]$ValueOrigin
[[1]]$Solubility[[1]]$Parameters[[2]]$ValueOrigin$Source
[1] "Publication"

[[1]]$Solubility[[1]]$Parameters[[2]]$ValueOrigin$Description
[1] "Boman 1974"






[[1]]$IntestinalPermeability
[[1]]$IntestinalPermeability[[1]]
[[1]]$IntestinalPermeability[[1]]$Name
[1] "Optimized"

[[1]]$IntestinalPermeability[[1]]$Parameters
[[1]]$IntestinalPermeability[[1]]$Parameters[[1]]
[[1]]$IntestinalPermeability[[1]]$Parameters[[1]]$Name
[1] "Specific intestinal permeability (transcellular)"

[[1]]$IntestinalPermeability[[1]]$Parameters[[1]]$Value
[1] 1.24e-05

[[1]]$IntestinalPermeability[[1]]$Parameters[[1]]$Unit
[1] "cm/min"

[[1]]$IntestinalPermeability[[1]]$Parameters[[1]]$ValueOrigin
[[1]]$IntestinalPermeability[[1]]$Parameters[[1]]$ValueOrigin$Source
[1] "Publication"

[[1]]$IntestinalPermeability[[1]]$Parameters[[1]]$ValueOrigin$Method
[1] "ParameterIdentification"

[[1]]$IntestinalPermeability[[1]]$Parameters[[1]]$ValueOrigin$Description
[1] "Hanke et al. 2018"






[[1]]$PkaTypes
[[1]]$PkaTypes[[1]]
[[1]]$PkaTypes[[1]]$Type
[1] "Base"

[[1]]$PkaTypes[[1]]$Pka
[1] 7.9

[[1]]$PkaTypes[[1]]$ValueOrigin
[[1]]$PkaTypes[[1]]$ValueOrigin$Source
[1] "Database"

[[1]]$PkaTypes[[1]]$ValueOrigin$Description
[1] "DrugBank DB01045"



[[1]]$PkaTypes[[2]]
[[1]]$PkaTypes[[2]]$Type
[1] "Acid"

[[1]]$PkaTypes[[2]]$Pka
[1] 1.7

[[1]]$PkaTypes[[2]]$ValueOrigin
[[1]]$PkaTypes[[2]]$ValueOrigin$Source
[1] "Database"

[[1]]$PkaTypes[[2]]$ValueOrigin$Description
[1] "DrugBank DB01045"




[[1]]$Processes
[[1]]$Processes[[1]]
[[1]]$Processes[[1]]$InternalName
[1] "MetabolizationSpecific_MM"

[[1]]$Processes[[1]]$DataSource
[1] "Nakajima 2011"

[[1]]$Processes[[1]]$Molecule
[1] "AADAC"

[[1]]$Processes[[1]]$Parameters
[[1]]$Processes[[1]]$Parameters[[1]]
[[1]]$Processes[[1]]$Parameters[[1]]$Name
[1] "Enzyme concentration"

[[1]]$Processes[[1]]$Parameters[[1]]$Value
[1] 1

[[1]]$Processes[[1]]$Parameters[[1]]$Unit
[1] "µmol/l"


[[1]]$Processes[[1]]$Parameters[[2]]
[[1]]$Processes[[1]]$Parameters[[2]]$Name
[1] "Vmax"

[[1]]$Processes[[1]]$Parameters[[2]]$Value
[1] 6.5

[[1]]$Processes[[1]]$Parameters[[2]]$Unit
[1] "µmol/l/min"


[[1]]$Processes[[1]]$Parameters[[3]]
[[1]]$Processes[[1]]$Parameters[[3]]$Name
[1] "Km"

[[1]]$Processes[[1]]$Parameters[[3]]$Value
[1] 195.1

[[1]]$Processes[[1]]$Parameters[[3]]$Unit
[1] "µmol/l"


[[1]]$Processes[[1]]$Parameters[[4]]
[[1]]$Processes[[1]]$Parameters[[4]]$Name
[1] "kcat"

[[1]]$Processes[[1]]$Parameters[[4]]$Value
[1] 9.865

[[1]]$Processes[[1]]$Parameters[[4]]$Unit
[1] "1/min"

[[1]]$Processes[[1]]$Parameters[[4]]$ValueOrigin
[[1]]$Processes[[1]]$Parameters[[4]]$ValueOrigin$Source
[1] "Publication"

[[1]]$Processes[[1]]$Parameters[[4]]$ValueOrigin$Method
[1] "ParameterIdentification"

[[1]]$Processes[[1]]$Parameters[[4]]$ValueOrigin$Description
[1] "Hanke et al. 2018"





[[1]]$Processes[[2]]
[[1]]$Processes[[2]]$InternalName
[1] "ActiveTransportSpecific_MM"

[[1]]$Processes[[2]]$DataSource
[1] "Collett 2004"

[[1]]$Processes[[2]]$Molecule
[1] "P-gp"

[[1]]$Processes[[2]]$Parameters
[[1]]$Processes[[2]]$Parameters[[1]]
[[1]]$Processes[[2]]$Parameters[[1]]$Name
[1] "Transporter concentration"

[[1]]$Processes[[2]]$Parameters[[1]]$Value
[1] 60

[[1]]$Processes[[2]]$Parameters[[1]]$Unit
[1] "nmol/l"


[[1]]$Processes[[2]]$Parameters[[2]]
[[1]]$Processes[[2]]$Parameters[[2]]$Name
[1] "Vmax"

[[1]]$Processes[[2]]$Parameters[[2]]$Value
[1] 2.87

[[1]]$Processes[[2]]$Parameters[[2]]$Unit
[1] "µmol/l/min"


[[1]]$Processes[[2]]$Parameters[[3]]
[[1]]$Processes[[2]]$Parameters[[3]]$Name
[1] "Km"

[[1]]$Processes[[2]]$Parameters[[3]]$Value
[1] 55

[[1]]$Processes[[2]]$Parameters[[3]]$Unit
[1] "µmol/l"


[[1]]$Processes[[2]]$Parameters[[4]]
[[1]]$Processes[[2]]$Parameters[[4]]$Name
[1] "kcat"

[[1]]$Processes[[2]]$Parameters[[4]]$Value
[1] 0.6088

[[1]]$Processes[[2]]$Parameters[[4]]$Unit
[1] "1/min"

[[1]]$Processes[[2]]$Parameters[[4]]$ValueOrigin
[[1]]$Processes[[2]]$Parameters[[4]]$ValueOrigin$Source
[1] "Publication"

[[1]]$Processes[[2]]$Parameters[[4]]$ValueOrigin$Method
[1] "ParameterIdentification"

[[1]]$Processes[[2]]$Parameters[[4]]$ValueOrigin$Description
[1] "Hanke et al. 2018"





[[1]]$Processes[[3]]
[[1]]$Processes[[3]]$InternalName
[1] "ActiveTransportSpecific_MM"

[[1]]$Processes[[3]]$DataSource
[1] "Tirona 2003"

[[1]]$Processes[[3]]$Molecule
[1] "OATP1B1"

[[1]]$Processes[[3]]$Parameters
[[1]]$Processes[[3]]$Parameters[[1]]
[[1]]$Processes[[3]]$Parameters[[1]]$Name
[1] "Transporter concentration"

[[1]]$Processes[[3]]$Parameters[[1]]$Value
[1] 109.6

[[1]]$Processes[[3]]$Parameters[[1]]$Unit
[1] "µmol/l"


[[1]]$Processes[[3]]$Parameters[[2]]
[[1]]$Processes[[3]]$Parameters[[2]]$Name
[1] "Vmax"

[[1]]$Processes[[3]]$Parameters[[2]]$Value
[1] 0.372

[[1]]$Processes[[3]]$Parameters[[2]]$Unit
[1] "µmol/l/min"


[[1]]$Processes[[3]]$Parameters[[3]]
[[1]]$Processes[[3]]$Parameters[[3]]$Name
[1] "Km"

[[1]]$Processes[[3]]$Parameters[[3]]$Value
[1] 1.5

[[1]]$Processes[[3]]$Parameters[[3]]$Unit
[1] "µmol/l"


[[1]]$Processes[[3]]$Parameters[[4]]
[[1]]$Processes[[3]]$Parameters[[4]]$Name
[1] "kcat"

[[1]]$Processes[[3]]$Parameters[[4]]$Value
[1] 5.210047

[[1]]$Processes[[3]]$Parameters[[4]]$Unit
[1] "1/min"

[[1]]$Processes[[3]]$Parameters[[4]]$ValueOrigin
[[1]]$Processes[[3]]$Parameters[[4]]$ValueOrigin$Source
[1] "Publication"

[[1]]$Processes[[3]]$Parameters[[4]]$ValueOrigin$Method
[1] "ParameterIdentification"

[[1]]$Processes[[3]]$Parameters[[4]]$ValueOrigin$Description
[1] "Hanke et al. 2018"





[[1]]$Processes[[4]]
[[1]]$Processes[[4]]$InternalName
[1] "GlomerularFiltration"

[[1]]$Processes[[4]]$DataSource
[1] "GFR"

[[1]]$Processes[[4]]$Species
[1] "Human"

[[1]]$Processes[[4]]$Parameters
[[1]]$Processes[[4]]$Parameters[[1]]
[[1]]$Processes[[4]]$Parameters[[1]]$Name
[1] "GFR fraction"

[[1]]$Processes[[4]]$Parameters[[1]]$Value
[1] 1

[[1]]$Processes[[4]]$Parameters[[1]]$ValueOrigin
[[1]]$Processes[[4]]$Parameters[[1]]$ValueOrigin$Source
[1] "Publication"

[[1]]$Processes[[4]]$Parameters[[1]]$ValueOrigin$Method
[1] "Assumption"

[[1]]$Processes[[4]]$Parameters[[1]]$ValueOrigin$Description
[1] "Hanke et al. 2018"





[[1]]$Processes[[5]]
[[1]]$Processes[[5]]$InternalName
[1] "CompetitiveInhibition"

[[1]]$Processes[[5]]$DataSource
[1] "Kajosaari 2005"

[[1]]$Processes[[5]]$Molecule
[1] "CYP2C8"

[[1]]$Processes[[5]]$Parameters
[[1]]$Processes[[5]]$Parameters[[1]]
[[1]]$Processes[[5]]$Parameters[[1]]$Name
[1] "Ki"

[[1]]$Processes[[5]]$Parameters[[1]]$Value
[1] 30.2

[[1]]$Processes[[5]]$Parameters[[1]]$Unit
[1] "µmol/l"

[[1]]$Processes[[5]]$Parameters[[1]]$ValueOrigin
[[1]]$Processes[[5]]$Parameters[[1]]$ValueOrigin$Source
[1] "Publication"

[[1]]$Processes[[5]]$Parameters[[1]]$ValueOrigin$Description
[1] "Kajosaari et al. 2005"





[[1]]$Processes[[6]]
[[1]]$Processes[[6]]$InternalName
[1] "CompetitiveInhibition"

[[1]]$Processes[[6]]$DataSource
[1] "Hanke 2021"

[[1]]$Processes[[6]]$Molecule
[1] "CYP2C9"

[[1]]$Processes[[6]]$Parameters
[[1]]$Processes[[6]]$Parameters[[1]]
[[1]]$Processes[[6]]$Parameters[[1]]$Name
[1] "Ki"

[[1]]$Processes[[6]]$Parameters[[1]]$Value
[1] 150

[[1]]$Processes[[6]]$Parameters[[1]]$Unit
[1] "µmol/l"

[[1]]$Processes[[6]]$Parameters[[1]]$ValueOrigin
[[1]]$Processes[[6]]$Parameters[[1]]$ValueOrigin$Source
[1] "Publication"

[[1]]$Processes[[6]]$Parameters[[1]]$ValueOrigin$Description
[1] "Yoshida 2012"





[[1]]$Processes[[7]]
[[1]]$Processes[[7]]$InternalName
[1] "CompetitiveInhibition"

[[1]]$Processes[[7]]$DataSource
[1] "Kajosaari 2005"

[[1]]$Processes[[7]]$Molecule
[1] "CYP3A4"

[[1]]$Processes[[7]]$Parameters
[[1]]$Processes[[7]]$Parameters[[1]]
[[1]]$Processes[[7]]$Parameters[[1]]$Name
[1] "Ki"

[[1]]$Processes[[7]]$Parameters[[1]]$Value
[1] 18.5

[[1]]$Processes[[7]]$Parameters[[1]]$Unit
[1] "µmol/l"

[[1]]$Processes[[7]]$Parameters[[1]]$ValueOrigin
[[1]]$Processes[[7]]$Parameters[[1]]$ValueOrigin$Source
[1] "Publication"

[[1]]$Processes[[7]]$Parameters[[1]]$ValueOrigin$Description
[1] "Kajosaari et al. 2005"





[[1]]$Processes[[8]]
[[1]]$Processes[[8]]$InternalName
[1] "CompetitiveInhibition"

[[1]]$Processes[[8]]$DataSource
[1] "Hanke 2021"

[[1]]$Processes[[8]]$Molecule
[1] "BCRP"

[[1]]$Processes[[8]]$Parameters
[[1]]$Processes[[8]]$Parameters[[1]]
[[1]]$Processes[[8]]$Parameters[[1]]$Name
[1] "Ki"

[[1]]$Processes[[8]]$Parameters[[1]]$Value
[1] 14

[[1]]$Processes[[8]]$Parameters[[1]]$Unit
[1] "µmol/l"

[[1]]$Processes[[8]]$Parameters[[1]]$ValueOrigin
[[1]]$Processes[[8]]$Parameters[[1]]$ValueOrigin$Source
[1] "Publication"

[[1]]$Processes[[8]]$Parameters[[1]]$ValueOrigin$Description
[1] "Prueksaritanont 2014"





[[1]]$Processes[[9]]
[[1]]$Processes[[9]]$InternalName
[1] "CompetitiveInhibition"

[[1]]$Processes[[9]]$DataSource
[1] "Hanke 2021"

[[1]]$Processes[[9]]$Molecule
[1] "OATP1B1"

[[1]]$Processes[[9]]$Parameters
[[1]]$Processes[[9]]$Parameters[[1]]
[[1]]$Processes[[9]]$Parameters[[1]]$Name
[1] "Ki"

[[1]]$Processes[[9]]$Parameters[[1]]$Value
[1] 0.29

[[1]]$Processes[[9]]$Parameters[[1]]$Unit
[1] "µmol/l"

[[1]]$Processes[[9]]$Parameters[[1]]$ValueOrigin
[[1]]$Processes[[9]]$Parameters[[1]]$ValueOrigin$Source
[1] "Publication"

[[1]]$Processes[[9]]$Parameters[[1]]$ValueOrigin$Method
[1] "InVitro"

[[1]]$Processes[[9]]$Parameters[[1]]$ValueOrigin$Description
[1] "Bi 2019"





[[1]]$Processes[[10]]
[[1]]$Processes[[10]]$InternalName
[1] "CompetitiveInhibition"

[[1]]$Processes[[10]]$DataSource
[1] "Hanke 2021"

[[1]]$Processes[[10]]$Molecule
[1] "OATP1B3"

[[1]]$Processes[[10]]$Parameters
[[1]]$Processes[[10]]$Parameters[[1]]
[[1]]$Processes[[10]]$Parameters[[1]]$Name
[1] "Ki"

[[1]]$Processes[[10]]$Parameters[[1]]$Value
[1] 0.5

[[1]]$Processes[[10]]$Parameters[[1]]$Unit
[1] "µmol/l"

[[1]]$Processes[[10]]$Parameters[[1]]$ValueOrigin
[[1]]$Processes[[10]]$Parameters[[1]]$ValueOrigin$Source
[1] "Publication"

[[1]]$Processes[[10]]$Parameters[[1]]$ValueOrigin$Method
[1] "InVitro"

[[1]]$Processes[[10]]$Parameters[[1]]$ValueOrigin$Description
[1] "Bi 2019"





[[1]]$Processes[[11]]
[[1]]$Processes[[11]]$InternalName
[1] "CompetitiveInhibition"

[[1]]$Processes[[11]]$DataSource
[1] "Hanke 2021"

[[1]]$Processes[[11]]$Molecule
[1] "OATP2B1"

[[1]]$Processes[[11]]$Parameters
[[1]]$Processes[[11]]$Parameters[[1]]
[[1]]$Processes[[11]]$Parameters[[1]]$Name
[1] "Ki"

[[1]]$Processes[[11]]$Parameters[[1]]$Value
[1] 78.2

[[1]]$Processes[[11]]$Parameters[[1]]$Unit
[1] "µmol/l"

[[1]]$Processes[[11]]$Parameters[[1]]$ValueOrigin
[[1]]$Processes[[11]]$Parameters[[1]]$ValueOrigin$Source
[1] "Publication"

[[1]]$Processes[[11]]$Parameters[[1]]$ValueOrigin$Method
[1] "InVitro"

[[1]]$Processes[[11]]$Parameters[[1]]$ValueOrigin$Description
[1] "Zhang 2019"





[[1]]$Processes[[12]]
[[1]]$Processes[[12]]$InternalName
[1] "CompetitiveInhibition"

[[1]]$Processes[[12]]$DataSource
[1] "Hanke 2021"

[[1]]$Processes[[12]]$Molecule
[1] "P-gp"

[[1]]$Processes[[12]]$Parameters
[[1]]$Processes[[12]]$Parameters[[1]]
[[1]]$Processes[[12]]$Parameters[[1]]$Name
[1] "Ki"

[[1]]$Processes[[12]]$Parameters[[1]]$Value
[1] 9.1

[[1]]$Processes[[12]]$Parameters[[1]]$Unit
[1] "µmol/l"

[[1]]$Processes[[12]]$Parameters[[1]]$ValueOrigin
[[1]]$Processes[[12]]$Parameters[[1]]$ValueOrigin$Source
[1] "Other"

[[1]]$Processes[[12]]$Parameters[[1]]$ValueOrigin$Method
[1] "InVitro"

[[1]]$Processes[[12]]$Parameters[[1]]$ValueOrigin$Description
[1] "NBI"





[[1]]$Processes[[13]]
[[1]]$Processes[[13]]$InternalName
[1] "Induction"

[[1]]$Processes[[13]]$DataSource
[1] "Chen 2010"

[[1]]$Processes[[13]]$Molecule
[1] "CYP1A2"

[[1]]$Processes[[13]]$Parameters
[[1]]$Processes[[13]]$Parameters[[1]]
[[1]]$Processes[[13]]$Parameters[[1]]$Name
[1] "EC50"

[[1]]$Processes[[13]]$Parameters[[1]]$Value
[1] 0.34

[[1]]$Processes[[13]]$Parameters[[1]]$Unit
[1] "µmol/l"


[[1]]$Processes[[13]]$Parameters[[2]]
[[1]]$Processes[[13]]$Parameters[[2]]$Name
[1] "Emax"

[[1]]$Processes[[13]]$Parameters[[2]]$Value
[1] 0.65




[[1]]$Processes[[14]]
[[1]]$Processes[[14]]$InternalName
[1] "Induction"

[[1]]$Processes[[14]]$DataSource
[1] "Buckley 2014"

[[1]]$Processes[[14]]$Molecule
[1] "CYP2C8"

[[1]]$Processes[[14]]$Parameters
[[1]]$Processes[[14]]$Parameters[[1]]
[[1]]$Processes[[14]]$Parameters[[1]]$Name
[1] "EC50"

[[1]]$Processes[[14]]$Parameters[[1]]$Value
[1] 0.34

[[1]]$Processes[[14]]$Parameters[[1]]$Unit
[1] "µmol/l"

[[1]]$Processes[[14]]$Parameters[[1]]$ValueOrigin
[[1]]$Processes[[14]]$Parameters[[1]]$ValueOrigin$Source
[1] "Publication"

[[1]]$Processes[[14]]$Parameters[[1]]$ValueOrigin$Description
[1] "Templeton IE, Houston JB, Galetin A. Predictive utility of in vitro rifampin induction data generated in fresh and cryopreserved human hepatocytes, Fa2N-4, and HepaRG cells. Drug Metab Dispos. 2011;39:1921–9; Shou M, Hayashi M, Pan Y, Xu Y, Morrissey K, Xu L, et al. Modeling, prediction, and in vitro in vivo correlation of CYP3A4 induction. Drug Metab Dispos. 2008;36:2355–70. "



[[1]]$Processes[[14]]$Parameters[[2]]
[[1]]$Processes[[14]]$Parameters[[2]]$Name
[1] "Emax"

[[1]]$Processes[[14]]$Parameters[[2]]$Value
[1] 3.2

[[1]]$Processes[[14]]$Parameters[[2]]$ValueOrigin
[[1]]$Processes[[14]]$Parameters[[2]]$ValueOrigin$Source
[1] "Publication"

[[1]]$Processes[[14]]$Parameters[[2]]$ValueOrigin$Description
[1] "Buckley DB, Wiegand CM, Prentiss PL, Fahmi OA. Time-course of cytochrome P450 (CYP450) induction in cultured human hepatocytes: Evaluation of activity and mRNA expression profiles for six inducible CYP450 enzymes. ISSX. 2013"





[[1]]$Processes[[15]]
[[1]]$Processes[[15]]$InternalName
[1] "Induction"

[[1]]$Processes[[15]]$DataSource
[1] "Rae 2001"

[[1]]$Processes[[15]]$Molecule
[1] "CYP2E1"

[[1]]$Processes[[15]]$Parameters
[[1]]$Processes[[15]]$Parameters[[1]]
[[1]]$Processes[[15]]$Parameters[[1]]$Name
[1] "EC50"

[[1]]$Processes[[15]]$Parameters[[1]]$Value
[1] 0.34

[[1]]$Processes[[15]]$Parameters[[1]]$Unit
[1] "µmol/l"


[[1]]$Processes[[15]]$Parameters[[2]]
[[1]]$Processes[[15]]$Parameters[[2]]$Name
[1] "Emax"

[[1]]$Processes[[15]]$Parameters[[2]]$Value
[1] 0.8




[[1]]$Processes[[16]]
[[1]]$Processes[[16]]$InternalName
[1] "Induction"

[[1]]$Processes[[16]]$DataSource
[1] "Templeton 2011"

[[1]]$Processes[[16]]$Molecule
[1] "CYP3A4"

[[1]]$Processes[[16]]$Parameters
[[1]]$Processes[[16]]$Parameters[[1]]
[[1]]$Processes[[16]]$Parameters[[1]]$Name
[1] "EC50"

[[1]]$Processes[[16]]$Parameters[[1]]$Value
[1] 0.34

[[1]]$Processes[[16]]$Parameters[[1]]$Unit
[1] "µmol/l"

[[1]]$Processes[[16]]$Parameters[[1]]$ValueOrigin
[[1]]$Processes[[16]]$Parameters[[1]]$ValueOrigin$Source
[1] "Publication"

[[1]]$Processes[[16]]$Parameters[[1]]$ValueOrigin$Description
[1] "Templeton 2011 (weighted mean for FHH)"



[[1]]$Processes[[16]]$Parameters[[2]]
[[1]]$Processes[[16]]$Parameters[[2]]$Name
[1] "Emax"

[[1]]$Processes[[16]]$Parameters[[2]]$Value
[1] 9

[[1]]$Processes[[16]]$Parameters[[2]]$ValueOrigin
[[1]]$Processes[[16]]$Parameters[[2]]$ValueOrigin$Source
[1] "Publication"

[[1]]$Processes[[16]]$Parameters[[2]]$ValueOrigin$Description
[1] "Templeton 2011 (weighted mean for FHH)"





[[1]]$Processes[[17]]
[[1]]$Processes[[17]]$InternalName
[1] "Induction"

[[1]]$Processes[[17]]$DataSource
[1] "Assumed"

[[1]]$Processes[[17]]$Molecule
[1] "AADAC"

[[1]]$Processes[[17]]$Parameters
[[1]]$Processes[[17]]$Parameters[[1]]
[[1]]$Processes[[17]]$Parameters[[1]]$Name
[1] "EC50"

[[1]]$Processes[[17]]$Parameters[[1]]$Value
[1] 0.34

[[1]]$Processes[[17]]$Parameters[[1]]$Unit
[1] "µmol/l"

[[1]]$Processes[[17]]$Parameters[[1]]$ValueOrigin
[[1]]$Processes[[17]]$Parameters[[1]]$ValueOrigin$Source
[1] "Publication"

[[1]]$Processes[[17]]$Parameters[[1]]$ValueOrigin$Method
[1] "Assumption"

[[1]]$Processes[[17]]$Parameters[[1]]$ValueOrigin$Description
[1] "Hanke et al. 2018"



[[1]]$Processes[[17]]$Parameters[[2]]
[[1]]$Processes[[17]]$Parameters[[2]]$Name
[1] "Emax"

[[1]]$Processes[[17]]$Parameters[[2]]$Value
[1] 0.985

[[1]]$Processes[[17]]$Parameters[[2]]$ValueOrigin
[[1]]$Processes[[17]]$Parameters[[2]]$ValueOrigin$Source
[1] "Publication"

[[1]]$Processes[[17]]$Parameters[[2]]$ValueOrigin$Method
[1] "ParameterIdentification"

[[1]]$Processes[[17]]$Parameters[[2]]$ValueOrigin$Description
[1] "Hanke et al. 2018"





[[1]]$Processes[[18]]
[[1]]$Processes[[18]]$InternalName
[1] "Induction"

[[1]]$Processes[[18]]$DataSource
[1] "Dixit 2007"

[[1]]$Processes[[18]]$Molecule
[1] "OATP1B1"

[[1]]$Processes[[18]]$Parameters
[[1]]$Processes[[18]]$Parameters[[1]]
[[1]]$Processes[[18]]$Parameters[[1]]$Name
[1] "EC50"

[[1]]$Processes[[18]]$Parameters[[1]]$Value
[1] 0.34

[[1]]$Processes[[18]]$Parameters[[1]]$Unit
[1] "µmol/l"

[[1]]$Processes[[18]]$Parameters[[1]]$ValueOrigin
[[1]]$Processes[[18]]$Parameters[[1]]$ValueOrigin$Source
[1] "Publication"

[[1]]$Processes[[18]]$Parameters[[1]]$ValueOrigin$Method
[1] "Assumption"

[[1]]$Processes[[18]]$Parameters[[1]]$ValueOrigin$Description
[1] "Hanke et al. 2018"



[[1]]$Processes[[18]]$Parameters[[2]]
[[1]]$Processes[[18]]$Parameters[[2]]$Name
[1] "Emax"

[[1]]$Processes[[18]]$Parameters[[2]]$Value
[1] 0.383

[[1]]$Processes[[18]]$Parameters[[2]]$ValueOrigin
[[1]]$Processes[[18]]$Parameters[[2]]$ValueOrigin$Source
[1] "Publication"

[[1]]$Processes[[18]]$Parameters[[2]]$ValueOrigin$Method
[1] "ParameterIdentification"

[[1]]$Processes[[18]]$Parameters[[2]]$ValueOrigin$Description
[1] "Hanke et al. 2018"





[[1]]$Processes[[19]]
[[1]]$Processes[[19]]$InternalName
[1] "Induction"

[[1]]$Processes[[19]]$DataSource
[1] "Greiner 1999"

[[1]]$Processes[[19]]$Molecule
[1] "P-gp"

[[1]]$Processes[[19]]$Parameters
[[1]]$Processes[[19]]$Parameters[[1]]
[[1]]$Processes[[19]]$Parameters[[1]]$Name
[1] "EC50"

[[1]]$Processes[[19]]$Parameters[[1]]$Value
[1] 0.34

[[1]]$Processes[[19]]$Parameters[[1]]$Unit
[1] "µmol/l"

[[1]]$Processes[[19]]$Parameters[[1]]$ValueOrigin
[[1]]$Processes[[19]]$Parameters[[1]]$ValueOrigin$Source
[1] "Publication"

[[1]]$Processes[[19]]$Parameters[[1]]$ValueOrigin$Method
[1] "Assumption"

[[1]]$Processes[[19]]$Parameters[[1]]$ValueOrigin$Description
[1] "Hanke et al. 2018"



[[1]]$Processes[[19]]$Parameters[[2]]
[[1]]$Processes[[19]]$Parameters[[2]]$Name
[1] "Emax"

[[1]]$Processes[[19]]$Parameters[[2]]$Value
[1] 2.5

[[1]]$Processes[[19]]$Parameters[[2]]$ValueOrigin
[[1]]$Processes[[19]]$Parameters[[2]]$ValueOrigin$Source
[1] "Publication"

[[1]]$Processes[[19]]$Parameters[[2]]$ValueOrigin$Method
[1] "Assumption"

[[1]]$Processes[[19]]$Parameters[[2]]$ValueOrigin$Description
[1] "Greiner et al. 1999"






[[1]]$CalculationMethods
[[1]]$CalculationMethods[[1]]
[1] "Cellular partition coefficient method - Rodgers and Rowland"

[[1]]$CalculationMethods[[2]]
[1] "Cellular permeability - PK-Sim Standard"


[[1]]$Parameters
[[1]]$Parameters[[1]]
[[1]]$Parameters[[1]]$Name
[1] "Molecular weight"

[[1]]$Parameters[[1]]$Value
[1] 822.94

[[1]]$Parameters[[1]]$Unit
[1] "g/mol"
snapshot$Compounds[[1]]$Lipophilicity[[1]]
$Name
[1] "Optimized"

$Parameters
$Parameters[[1]]
$Parameters[[1]]$Name
[1] "Lipophilicity"

$Parameters[[1]]$Value
[1] 2.5

$Parameters[[1]]$Unit
[1] "Log Units"

$Parameters[[1]]$ValueOrigin
$Parameters[[1]]$ValueOrigin$Source
[1] "Publication"

$Parameters[[1]]$ValueOrigin$Method
[1] "ParameterIdentification"

$Parameters[[1]]$ValueOrigin$Description
[1] "Hanke et al. 2018"

PK-Sim Snapshots are difficult to extract data from.

# Extract Compound Processes
purrr::map(
  snapshot$Compounds,
  ~ purrr::map(
    .x$Processes,
    ~ paste0(.x$InternalName, ": ", .x$Molecule)
  ) |>
    purrr::list_c()
) |>
  purrr::list_c()
 [1] "MetabolizationSpecific_MM: AADAC"    "ActiveTransportSpecific_MM: P-gp"   
 [3] "ActiveTransportSpecific_MM: OATP1B1" "GlomerularFiltration: "             
 [5] "CompetitiveInhibition: CYP2C8"       "CompetitiveInhibition: CYP2C9"      
 [7] "CompetitiveInhibition: CYP3A4"       "CompetitiveInhibition: BCRP"        
 [9] "CompetitiveInhibition: OATP1B1"      "CompetitiveInhibition: OATP1B3"     
[11] "CompetitiveInhibition: OATP2B1"      "CompetitiveInhibition: P-gp"        
[13] "Induction: CYP1A2"                   "Induction: CYP2C8"                  
[15] "Induction: CYP2E1"                   "Induction: CYP3A4"                  
[17] "Induction: AADAC"                    "Induction: OATP1B1"                 
[19] "Induction: P-gp"                    

The Problem

PK-Sim Snapshots are comprehensive but complex.

Existing R tools work but require a lot of time and expertise.

The Solution

An intuitive and powerful interface tailored for snapshots.

{osp.snapshots}

An R package to work with PK-Sim Snapshots

{osp.snapshots} is an open source package that anyone can use and contribute to.

# Install from GitHub
pak::pak("esqLABS/osp.snapshots")

library(osp.snapshots)

{osp.snapshots} Features

  • 📂 Load snapshots

{osp.snapshots} can load snapshots from different sources

  • From local files
snapshot <- load_snapshot("path/to/my/pksim_snapshot.json")
  • From an URL
snapshot <- load_snapshot(
  "https://raw.githubusercontent.com/Open-Systems-Pharmacology/Efavirenz-Model/refs/heads/master/Efavirenz-Model.json"
)
  • From an existing OSP model (available on GitHub)
snapshot <- load_snapshot("Rifampicin")

{osp.snapshots} Features

  • 📂 Load from different sources
  • 🔍 Explore snapshots and its building blocks

{osp.snapshots} provides an intuitive interface to navigate snapshots

{osp.snapshots} provides a print method for snapshot objects that summarizes the content of the snapshot.

snapshot

── PKSIM Snapshot ──────────────────────────────────────────────────────────────
ℹ Version: 80 (PKSIM 12.0)
• Compounds: 1
• ExpressionProfiles: 7
• Formulations: 1
• Individuals: 2
• ObservedData: 89
• ObservedDataClassifications: 20
• ObserverSets: 1
• ParameterIdentifications: 3
• Protocols: 13
• SimulationClassifications: 2
• Simulations: 13

List elements per building block type

snapshot$compounds

── Compounds (1) ───────────────────────────────────────────────────────────────
• Rifampicin
snapshot$individuals

── Individuals (2) ─────────────────────────────────────────────────────────────
• European (P-gp modified, CYP3A4 36 h)
• European (P-gp modified, CYP3A4 36 h, EHC off)

Explore a specific building block

snapshot$compounds$Rifampicin

── Compound: Rifampicin ────────────────────────────────────────────────────────

── Basic Properties ──

• Type: Small Molecule
• Plasma Protein Binding Partner: Albumin
• Molecular Weight: 822.94 g/mol

── Calculation Methods ──

• Partition Coefficient: Rodgers and Rowland
• Permeability: PK-Sim Standard

── Physicochemical Properties ──

• Lipophilicity:
  • 2.5 Log Units [Publication - ParameterIdentification - (Hanke et al. 2018)]
• Fraction Unbound:
  • 17 % [Publication - InVitro - (Templeton 2011 (equilibrium dialysis))]
• Solubility:
  • 2800 mg/l (pH 7.5) [Publication - (Boman 1974)]
• Intestinal Permeability:
  • 1.24e-05 cm/min [Publication - ParameterIdentification - (Hanke et al.
  2018)]
• pKa Types:
  • Base: 7.9 [Database - (DrugBank DB01045)]
  • Acid: 1.7 [Database - (DrugBank DB01045)]

── Processes ──

Processes (19 total):
  • Metabolism:
    • MetabolizationSpecific_MM (AADAC): Enzyme concentration=1 µmol/l,
    Vmax=6.5 µmol/l/min, Km=195.1 µmol/l, kcat=9.865 1/min [Nakajima 2011]
  • Transport:
    • ActiveTransportSpecific_MM (P-gp): Transporter concentration=60 nmol/l,
    Vmax=2.87 µmol/l/min, Km=55 µmol/l, kcat=0.6088 1/min [Collett 2004]
    • ActiveTransportSpecific_MM (OATP1B1): Transporter concentration=109.6
    µmol/l, Vmax=0.372 µmol/l/min, Km=1.5 µmol/l, kcat=5.21004653 1/min [Tirona
    2003]
  • Clearance:
    • GlomerularFiltration: GFR fraction=1 [GFR]
  • Inhibition:
    • CompetitiveInhibition (CYP2C8): Ki=30.2 µmol/l [Kajosaari 2005]
    • CompetitiveInhibition (CYP2C9): Ki=150 µmol/l [Hanke 2021]
    • CompetitiveInhibition (CYP3A4): Ki=18.5 µmol/l [Kajosaari 2005]
    • CompetitiveInhibition (BCRP): Ki=14 µmol/l [Hanke 2021]
    • CompetitiveInhibition (OATP1B1): Ki=0.29 µmol/l [Hanke 2021]
    • CompetitiveInhibition (OATP1B3): Ki=0.5 µmol/l [Hanke 2021]
    • CompetitiveInhibition (OATP2B1): Ki=78.2 µmol/l [Hanke 2021]
    • CompetitiveInhibition (P-gp): Ki=9.1 µmol/l [Hanke 2021]
  • Induction:
    • Induction (CYP1A2): EC50=0.34 µmol/l, Emax=0.65 [Chen 2010]
    • Induction (CYP2C8): EC50=0.34 µmol/l, Emax=3.2 [Buckley 2014]
    • Induction (CYP2E1): EC50=0.34 µmol/l, Emax=0.8 [Rae 2001]
    • Induction (CYP3A4): EC50=0.34 µmol/l, Emax=9 [Templeton 2011]
    • Induction (AADAC): EC50=0.34 µmol/l, Emax=0.985 [Assumed]
    • Induction (OATP1B1): EC50=0.34 µmol/l, Emax=0.383 [Dixit 2007]
    • Induction (P-gp): EC50=0.34 µmol/l, Emax=2.5 [Greiner 1999]
snapshot$individuals$`European (P-gp modified, CYP3A4 36 h)`

── Individual: European (P-gp modified, CYP3A4 36 h) | Seed: 17189110 ──────────

── Characteristics ──

• Species: Human
• Population: European_ICRP_2002
• Gender: MALE
• Age: 30 year(s)
• Calculation Methods:
  • SurfaceAreaPlsInt_VAR1
  • Body surface area - Mosteller

── Parameters ──

• Organism|Liver|EHC continuous fraction: 1

── Expression Profiles ──

• CYP3A4|Human|European (P-gp modified, CYP3A4 36 h)
• AADAC|Human|European (P-gp modified, CYP3A4 36 h)
• P-gp|Human|European (P-gp modified, CYP3A4 36 h)
• OATP1B1|Human|European (P-gp modified, CYP3A4 36 h)
• ATP1A2|Human|European (P-gp modified, CYP3A4 36 h)
• UGT1A4|Human|European (P-gp modified, CYP3A4 36 h)
• GABRG2|Human|European (P-gp modified, CYP3A4 36 h)

Access individual properties directly

snapshot$individuals$`European (P-gp modified, CYP3A4 36 h)`$age
[1] 30
snapshot$individuals$`European (P-gp modified, CYP3A4 36 h)`$gender
[1] "MALE"
snapshot$individuals$`European (P-gp modified, CYP3A4 36 h)`$weight
NULL

{osp.snapshots} Features

  • 📂 Load from different sources
  • 🔍 Explore snapshots and building blocks
  • ✏️ Edit snapshots programmatically

{osp.snapshots} provides easy ways to create and modify building blocks

# Create a new individual
demo_patient <- create_individual(
  name = "Demo Patient",
  age = 45,
  weight = 75,
  height = 65,
  gender = "FEMALE"
)
# Add to snapshot
snapshot$add_individual(demo_patient)
# Remove a building block
snapshot$remove_individual("European (P-gp modified, CYP3A4 36 h, EHC off)")
snapshot$individuals

── Individuals (2) ─────────────────────────────────────────────────────────────
• European (P-gp modified, CYP3A4 36 h)
• Demo Patient

Before:

# Edit building block
snapshot$individuals$`Demo Patient`

── Individual: Demo Patient ────────────────────────────────────────────────────

── Characteristics ──

• Gender: FEMALE
• Age: 45 year(s)
• Height: 65 cm
• Weight: 75 kg

Modify:

snapshot$individuals$`Demo Patient`$height <- 165

After:

snapshot$individuals$`Demo Patient`

── Individual: Demo Patient ────────────────────────────────────────────────────

── Characteristics ──

• Gender: FEMALE
• Age: 45 year(s)
• Height: 165 cm
• Weight: 75 kg

{osp.snapshots} Features

  • 📂 Load from different sources
  • 🔍 Explore snapshots and building blocks
  • ✏️ Edit snapshots programmatically
  • 📊 Extract deeply nested data into flat structures

{osp.snapshots} extracts data and generates data frames

# Extract all individuals to structured data frames
get_compounds_dfs(snapshot)
# Some building blocks are extracted as list of data frames
get_individuals_dfs(snapshot)
$individuals
# A tibble: 2 × 17
  individual_id           name     seed species population gender   age age_unit
  <chr>                   <chr>   <int> <chr>   <chr>      <chr>  <dbl> <chr>   
1 European (P-gp modifie… Euro…  1.72e7 Human   European_… MALE      30 year(s) 
2 Demo Patient            Demo… NA      <NA>    <NA>       FEMALE    45 year(s) 
# ℹ 9 more variables: gestational_age <dbl>, gestational_age_unit <chr>,
#   weight <dbl>, weight_unit <chr>, height <dbl>, height_unit <chr>,
#   disease_state <chr>, calculation_methods <glue>,
#   disease_state_parameters <chr>

$individuals_parameters
# A tibble: 1 × 7
  individual_id                   path  value unit  source description source_id
  <chr>                           <chr> <dbl> <chr> <chr>  <chr>           <int>
1 European (P-gp modified, CYP3A… Orga…     1 <NA>  Unkno… <NA>               NA

$individuals_expressions
# A tibble: 7 × 2
  individual_id                         profile                                 
  <chr>                                 <chr>                                   
1 European (P-gp modified, CYP3A4 36 h) CYP3A4|Human|European (P-gp modified, C…
2 European (P-gp modified, CYP3A4 36 h) AADAC|Human|European (P-gp modified, CY…
3 European (P-gp modified, CYP3A4 36 h) P-gp|Human|European (P-gp modified, CYP…
4 European (P-gp modified, CYP3A4 36 h) OATP1B1|Human|European (P-gp modified, …
5 European (P-gp modified, CYP3A4 36 h) ATP1A2|Human|European (P-gp modified, C…
6 European (P-gp modified, CYP3A4 36 h) UGT1A4|Human|European (P-gp modified, C…
7 European (P-gp modified, CYP3A4 36 h) GABRG2|Human|European (P-gp modified, C…

{osp.snapshots} Features

  • 📂 Load from different sources
  • 🔍 Explore snapshots and building blocks
  • ✏️ Edit snapshots programmatically
  • 📊 Extract deeply nested data into flat structures
  • 💾 Export snapshots

{osp.snapshots} is fully interoperable with PK-Sim

# Export modified snapshot
export_snapshot(snapshot, "Rifampicin_modified.json")

{osp.snapshots} Features

  • 📂 Load from different sources
  • 🔍 Explore snapshots and building blocks
  • ✏️ Edit snapshots programmatically
  • 📊 Extract deeply nested data into flat structures
  • 💾 Export snapshots

What’s next?

  • 🧱 More building blocks
  • 📈 Plotting
  • 🔬 Simulations Design

Thank you!

🔗 github.com/esqLABS/osp.snapshots